Learn R Programming

bnlearn (version 4.1)

graph utilities: Utilities to manipulate graphs

Description

Check and manipulate graph-related properties of an object of class bn.

Usage

# check whether the graph is acyclic/completely directed.
acyclic(x, directed = FALSE, debug = FALSE)
directed(x)
# check whether there is a path between two nodes.
path(x, from, to, direct = TRUE, underlying.graph = FALSE, debug = FALSE)
# build the skeleton or a complete orientation of the graph.
skeleton(x)
pdag2dag(x, ordering)
# build a subgraph spanning a subset of nodes.
subgraph(x, nodes)

Arguments

x
an object of class bn. acyclic, directed and path also accept objects of class bn.fit.
from
a character string, the label of a node.
to
a character string, the label of a node (different from from).
direct
a boolean value. If FALSE ignore any arc between from and to when looking for a path.
underlying.graph
a boolean value. If TRUE the underlying undirected graph is used instead of the (directed) one from the x argument.
ordering
the labels of all the nodes in the graph; their order is the node ordering used to set the direction of undirected arcs.
nodes
the labels of the nodes that induce the subgraph.
directed
a boolean value. If TRUE only completely directed cycles are considered; otherwise undirected arcs will also be considered and treated as arcs present in both directions.
debug
a boolean value. If TRUE a lot of debugging output is printed; otherwise the function is completely silent.

Value

acyclic, path and directed return a boolean value. skeleton, pdag2dag and subgraph return an object of class bn.

References

Bang-Jensen J, Gutin G (2009). Digraphs: Theory, Algorithms and Applications. Springer, 2nd edition.

Examples

Run this code
data(learning.test)
res = gs(learning.test)

acyclic(res)
directed(res)
res = pdag2dag(res, ordering = LETTERS[1:6])
res
directed(res)
skeleton(res)

Run the code above in your browser using DataLab